package com.ruoyi.system.util;

import com.ruoyi.system.domain.AvLocal;
import org.apache.commons.compress.utils.Lists;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

public class FileIOUtil {
    /**
     * 删除某个文件夹下的所有文件夹和文件
     * @param delpath String
     * @throws FileNotFoundException
     * @throws IOException
     * @return boolean
     */
    public static boolean deletefile(String delpath) throws FileNotFoundException,
            IOException {
        try {

            File file = new File(delpath);
            if (!file.isDirectory()) {
                System.out.println("1");
                file.delete();
            }
            else if (file.isDirectory()) {
                System.out.println("2");
                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                    File delfile = new File(delpath + "\\" + filelist[i]);
                    if (!delfile.isDirectory()) {
                        System.out.println("path=" + delfile.getPath());
                        System.out.println("absolutepath=" + delfile.getAbsolutePath());
                        System.out.println("name=" + delfile.getName());
                        delfile.delete();
                        System.out.println("删除文件成功");
                    }
                    else if (delfile.isDirectory()) {
                        deletefile(delpath + "\\" + filelist[i]);
                    }
                }
                file.delete();

            }

        }
        catch (FileNotFoundException e) {
            System.out.println("deletefile()   Exception:" + e.getMessage());
        }
        return true;
    }

    /**
     * 打印某个文件夹下的所有文件夹和文件
     * @param filepath String
     * @throws FileNotFoundException
     * @throws IOException
     * @return boolean
     */
    public static boolean readfile(String filepath) throws FileNotFoundException,IOException {
        try {
            File file = new File(filepath);
            if (!file.isDirectory()) {
                System.out.println("文件");
                System.out.println("path=" + file.getPath());
                System.out.println("absolutepath=" + file.getAbsolutePath());
                System.out.println("name=" + file.getName());

            }else if (file.isDirectory()) {
                System.out.println("文件夹");
                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                    File readfile = new File(filepath + "\\" + filelist[i]);
                    if (!readfile.isDirectory()) {
                        System.out.println("path=" + readfile.getPath());
                        System.out.println("absolutepath=" + readfile.getAbsolutePath());
                        System.out.println("name=" + readfile.getName());

                    }
                    else if (readfile.isDirectory()) {
                        readfile(filepath + "\\" + filelist[i]);
                    }
                }

            }

        }
        catch (FileNotFoundException e) {
            System.out.println("readfile()   Exception:" + e.getMessage());
        }
        return true;
    }

    public static boolean createPojo(String filepath,List<AvLocal> resList) {
        File file = new File(filepath);
        if (!file.isDirectory()) {
            AvLocal local = new AvLocal();
            local.setLocal(file.getAbsolutePath());
            String name = file.getName();
            local.setName(name);
            local.setSuffix(name.substring(name.lastIndexOf(".")+1));
            resList.add(local);
        }else {
            for (String fileName:file.list()) {
                createPojo(filepath + File.separator + fileName,resList);
            }
        }
        return true;
    }

    public static void main(String[] args) {
        /*try {
            readfile("F:\\test");
            //deletefile("D:/file");
        }
        catch (FileNotFoundException ex) {
        }
        catch (IOException ex) {
        }
        System.out.println("ok");*/

        String str = "asd.txt";
        System.out.println(str.substring(str.lastIndexOf(".")+1));
    }

}
